Proving Java Type Soundness
نویسنده
چکیده
This technical report describes a machine checked proof of the type soundness of a subset of the Java language called JavaS . A formal semantics for this subset has been developed by Drossopoulou and Eisenbach, and they have sketched an outline of the type soundness proof. The formulation developed here complements their written semantics and proof by correcting and clarifying signi cant details; and it demonstrates the utility of formal, machine checking when exploring a large and detailed proof based on operational semantics. The development also serves as a case study in the application of `declarative' proof techniques to a major property of an operational system.
منابع مشابه
Proving the Soundness of a Java Bytecode Veriier in Isabelle/hol
We have formalized large parts of the Java Virtual Machine (JVM) with the theorem prover Isabelle/HOL. Based on the work by QiannQia98], we have then formalized a speciication for a Java bytecode veriier and formally proved the soundness of the speciication.
متن کاملProving the Soundness of a
We have formalized large parts of the Java Virtual Machine (JVM) with the theorem prover Isabelle/HOL. Based on the work by QiannQia98], we have then formalized a speciication for a Java bytecode veriier and formally proved the soundness of the speciication.
متن کاملMachine-Checking the Java Specification: Proving Type-Safety
In this article we present Bali, the formalization of a large (hitherto sequential) sublanguage of Java. We give its abstract syntax, type system, well-formedness conditions, and an operational evaluation semantics. Based on these deenitions, we can express soundness of the type system, an important design goal claimed to be reached by the designers of Java, and prove that Bali is indeed type-s...
متن کاملJavàight Is Type-safe | Deenitely
Java `ight is a large sequential sublanguage of Java. We formalize its abstract syntax, type system, well-formedness conditions, and an operational evaluation semantics. Based on this formalization, we can express and prove type soundness. All de nitions and proofs have been done formally in the theorem prover Isabelle/HOL. Thus this paper demonstrates that machine-checking the design of non-tr...
متن کاملSoundness of Object-Oriented Languages with Coinductive Big-Step Semantics
It is well known that big-step operational semantics are not suitable for proving soundness of type systems, because of their inability to distinguish stuck from non-terminating computations. We show how this problem can be solved by interpreting coinductively the rules for the standard big-step operational semantics of a Java-like language, thus making the claim of soundness more intuitive: wh...
متن کامل